home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS in a Box 7
/
BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso
/
Files
/
Prog
/
D-G
/
FB_AppleEvents.cpt
/
AEVENTS.INCL
< prev
next >
Wrap
Text File
|
1992-05-03
|
7KB
|
187 lines
INCLUDE FILE
_nil=0
_ioMisc=28
LOCAL FN FSpOpenDF(FSSpecPTR&,permission,refNumPTR&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^FSSpecPTR&,-(SP)
` MOVE.W ^permission,-(SP)
` MOVE.L ^refNumPTR&,-(SP)
MACHLG &H303C,&H0002,&HAA52
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN OpenDoc(opFSSpecPTR&,toDataHandlPTR&)
'* open a document, given its FSSpec info *
fileError=0
fileRef=0
dataCount&=0
filedataH&=0
DIM pBlock. 50
POKE LONG toDataHandlPTR&,_nil: '* return nil data handle in case fail below *
fileError=FN FSpOpenDF(opFSSpecPTR&,_fsCurPerm,@fileRef)
LONG IF fileError=0
POKE LONG @pBlock+ _ioCompletion,0
POKE WORD @pBlock+ _ioRefNum,fileRef
fileError=FN GETEOF(@pBlock): '* PBgetEOF - get file length in bytes *
LONG IF fileError=0
dataCount&=PEEK LONG(@pBlock+ _ioMisc)
PRINT "DATACOUNT=";dataCount&
filedataH&=FN NEWHANDLE(dataCount&)
LONG IF filedataH&
POKE LONG @pBlock+ _ioBuffer,PEEK LONG(filedataH&)
POKE LONG @pBlock+ _ioReqCount,dataCount&
POKE WORD @pBlock+ _ioPosMode,_fsFromStart
POKE WORD @pBlock+ _ioPosOffset,0
myErr=FN HLOCK(filedataH&)
fileError=FN READ(@pBlock): '* PBRead - read specified no. bytes into buffer filedataH&*
myErr=FN HUNLOCK(filedataH&)
IF fileError=0 THEN POKE LONG toDataHandlPTR&,filedataH&:'* return the valid data handle *
XELSE
myErr=_memFullErr
END IF
END IF
fileError=FN CLOSE(@pBlock)
END IF
IF myErr=0 THEN myErr=fileError
END FN=myErr
LOCAL FN PPCBrowser(PTR1&,PTR2&,defaultSpecified,PTR3&,PTR4&,filterProc&,PTR5&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^PTR1&,-(SP)
` MOVE.L ^PTR2&,-(SP)
` MOVE.W ^defaultSpecified,-(SP)
` MOVE.L ^PTR3&,-(SP)
` MOVE.L ^PTR4&,-(SP)
` MOVE.L ^filterProc&,-(SP)
` MOVE.L ^PTR5&,-(SP)
` MOVE.W #$0D00,D0 ; PPCBrowser selector
MACHLG &HA82B ' pack9 (ppc Toolbox)
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AEInstallEventHandler(theAEEventClass&,theAEEventID&,handler&,handlerRefcon&,isSysHandler)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAEEventClass&,-(SP)
` MOVE.L ^theAEEventID&,-(SP)
` MOVE.L ^handler&,-(SP)
` MOVE.L ^handlerRefcon&,-(SP)
` MOVE.W ^isSysHandler,-(SP)
MACHLG &H303C,&H091F,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AERemoveEventHandler(theAEEventClass&,theAEEventID&,handler&,isSysHandler)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAEEventClass&,-(SP)
` MOVE.L ^theAEEventID&,-(SP)
` MOVE.L ^handler&,-(SP)
` MOVE.W ^isSysHandler,-(SP)
MACHLG &H303C,&H0720,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AEGetEventHandler(theAEEventClass&,theAEEventID&,handlerPTR&,handlerRefconPTR&,isSysHandler)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAEEventClass&,-(SP)
` MOVE.L ^theAEEventID&,-(SP)
` MOVE.L ^handlerPTR&,-(SP)
` MOVE.L ^handlerRefconPTR&,-(SP)
` MOVE.W ^isSysHandler,-(SP)
MACHLG &H303C,&H0921,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AEProcessAppleEvent(theEventRecordPtr&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theEventRecordPtr&,-(SP)
MACHLG &H303C,&021B,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AECreateAppleEvent(theAEEventClass&,theAEEventID&,AEAddressDesc_target&,returnID%,transactionID&,AppleEvent_result&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAEEventClass&,-(SP)
` MOVE.L ^theAEEventID&,-(SP)
` MOVE.L ^AEAddressDesc_target&,-(SP)
` MOVE.W ^returnID%,-(SP)
` MOVE.L ^transactionID&,-(SP)
` MOVE.L ^AppleEvent_result&,-(SP)
MACHLG &H303C,&H0B14,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AESend(theAppleEvent&,AppleEvent_reply&,sendMode&,sendPriority%,timeOutInTicks&,idleProc&,filterProc&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAppleEvent&,-(SP)
` MOVE.L ^AppleEvent_reply&,-(SP)
` MOVE.L ^sendMode&,-(SP)
` MOVE.W ^sendPriority%,-(SP)
` MOVE.L ^timeOutInTicks&,-(SP)
` MOVE.L ^idleProc&,-(SP)
` MOVE.L ^filterProc&,-(SP)
MACHLG &H303C,&H0D17,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AEDisposeDesc(theAEDesc&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAEDesc&,-(SP)
MACHLG &H303C,&H0204,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AEGetParamDesc(theAppleEvent&,theAEKeyword&,desiredType&,result&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAppleEvent&,-(SP)
` MOVE.L ^theAEKeyword&,-(SP)
` MOVE.L ^desiredType&,-(SP)
` MOVE.L ^result&,-(SP)
MACHLG &H303C,&H0812,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AECountItems(theAEDescList&,theCount&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAEDescList&,-(SP)
` MOVE.L ^theCount&,-(SP)
MACHLG &H303C,&H0407,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AEGetNthPtr(theAEDescList&,index&,desiredType&,theAEKeyword&,typeCode&,dataPtr&,maximumSize&,actualSize&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAEDescList&,-(SP)
` MOVE.L ^index&,-(SP)
` MOVE.L ^desiredType&,-(SP)
` MOVE.L ^theAEKeyword&,-(SP)
` MOVE.L ^typeCode&,-(SP)
` MOVE.L ^dataPtr&,-(SP)
` MOVE.L ^maximumSize&,-(SP)
` MOVE.L ^actualSize&,-(SP)
MACHLG &H303C,&H100A,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN AEGetAttributePtr(theAppleEvent&,theAEKeyword&,desiredType&,typeCode&,dataPtr&,maximumSize&,actualSize&)
` SUBQ.W #2,SP ;put room on stack for fn result (oserr)
` MOVE.L ^theAppleEvent&,-(SP)
` MOVE.L ^theAEKeyword&,-(SP)
` MOVE.L ^desiredType&,-(SP)
` MOVE.L ^typeCode&,-(SP)
` MOVE.L ^dataPtr&,-(SP)
` MOVE.L ^maximumSize&,-(SP)
` MOVE.L ^actualSize&,-(SP)
MACHLG &H303C,&H0E15,&HA816
` MOVE.W (SP)+,D0 ; pop result from stack
END FN=REGISTER(D0)
LOCAL FN MyGotRequiredParams(AE_messageinPTR&)
_errAEDescNotFound = -1701
DIM returnedType&,actualSize&
myErr=FN AEGetAttributePtr(AE_messageinPTR&,CVI("miss"),CVI("****"),@returnedType&,0,0,@actualSize&)
IF myErr=_errAEDescNotFound THEN myErr=0
END FN=myErr